package com.xinzhidi.web.house.domain.vo;

import com.xinzhidi.common.annotation.Excel;
import com.xinzhidi.common.enums.DictTypeEnum;
import com.xinzhidi.web.custommodel.domain.CustomModel;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.EqualsAndHashCode;

import javax.validation.constraints.Min;
import javax.validation.constraints.NotEmpty;
import javax.validation.constraints.NotNull;
import java.math.BigDecimal;
import java.util.List;


/**
 * 住户ListVo对象 c_household
 *
 * @author cx
 * @date 2023-05-23
 */
@ApiModel(value = "住户ListVo对象")
@Data
@EqualsAndHashCode(callSuper = false)
public class HouseholdImportVo {
    private static final long serialVersionUID = 1L;

    private Long id;

    @ApiModelProperty(value = "dtuId")
    private Long dtuId;

    @ApiModelProperty(value = "小区id")
    private Long plotId;

    @ApiModelProperty(value = "小区名称")
    @Excel(name = "小区名称")
    @NotEmpty(message = "小区名称不能为空")
    private String plotName;

    private Long buildId;

    private Long unit;

    @ApiModelProperty(value = "楼层数")
    @Excel(name = "楼层数")
    private Integer floorNumber;

    @ApiModelProperty(value = "楼栋")
    @Excel(name = "楼栋号")
    @NotEmpty(message = "楼栋不能为空")
    private String buildName;

    @ApiModelProperty(value = "单元号")
    @Excel(name = "单元号")
    @NotEmpty(message = "单元号不能为空")
    private String unitName;

    @ApiModelProperty(value = "门牌号")
    @Excel(name = "门牌号")
    @NotEmpty(message = "门牌号不能为空")
    private String houseNumber;

    @ApiModelProperty(value = "住户姓名")
    @Excel(name = "住户姓名")
    @NotEmpty(message = "住户姓名不能为空")
    private String userName;

    @ApiModelProperty(value = "房间热卡号")
    @Excel(name = "房间热卡号")
    private String hotCardNumber;

    @ApiModelProperty(value = "移动电话")
    @Excel(name = "移动电话")
    private String mobilePhone;

    @ApiModelProperty(value = "方位")
    @Excel(name = "方位")
    private String orientation;

    @ApiModelProperty(value = "管道位置")
    @Excel(name = "管道位置")
    private String pipePosition;

    @ApiModelProperty(value = "是否供暖")
    @Excel(name = "是否供暖", combo = {"是", "否"})
    private String heatingOrNot;

    @ApiModelProperty(value = "采暖面积")
    @Excel(name = "采暖面积")
    @Min(value = 0,message = "采暖面积不能小于0")
    private BigDecimal heatArea;

    @ApiModelProperty(value = "固定电话")
    @Excel(name = "固定电话")
    private String landPhone;

    @ApiModelProperty(value = "楼栋热计量方式")
    private String buildHeatMeter;

    @ApiModelProperty(value = "供热类型")
    private String heatingType;

    @ApiModelProperty(value = "邮箱")
    private String email;

    @ApiModelProperty(value = "模型")
    private List<CustomModel> customModels;

    @ApiModelProperty(value = "模型id")
    private String modelIds;

    @ApiModelProperty(value = "dtu名称")
    @Excel(name = "dtu名称")
    private String dtuName;

    @ApiModelProperty(value = "设备名称")
    @Excel(name = "设备名称")
    private String equipmentName;

    @ApiModelProperty(value = "设备编号")
    @Excel(name = "设备编号")
    private String equipmentCode;

    @ApiModelProperty(value = "设备类型名称")
    @Excel(name = "设备类型" ,combo = { "阀门" , "热量表" , "室温采集器" })
    private String equipmentTypeName;

    @ApiModelProperty(value = "协议类型 1：户用阀门协议 2：单元阀门协议 3：室温采集器协议 4：户用热量表协议 5：单元热量表协议 6：海龙马调节阀协议")
    private String protocolType;

    @ApiModelProperty(value = "协议类型")
    @Excel(name = "协议类型" , combo = { "户用阀门协议" ,"户用热量表协议" ,"海龙马调节阀协议"})
    private String protocolTypeName;

    @ApiModelProperty(value = "详细位置")
    @Excel(name = "设备地址")
    private String address;



}
